package ve.com.wayoyo.wuml_case.DibujoDiagramas;

import ve.com.wayoyo.wuml_case.DataTipe;
import ve.com.wayoyo.wuml_case.Exceptions.AtributoERException;
import ve.com.wayoyo.wuml_case.Exceptions.TipoDatoException;

public class CompVariable {

	private String Nombre;
	private String TipoDato;
	private boolean isFinal;

	public boolean isFinal() {
		return isFinal;
	}

	public void setFinal(boolean isFinal) {
		this.isFinal = isFinal;
	}

	public CompVariable(String nombre, String tipoDato) {
		this.Nombre = nombre;
		this.TipoDato = tipoDato;
	}

	public CompVariable() {
	}

	public String getText() {
		String Respuesta = "";
		if (isFinal) {
			Respuesta += "final";
		}
		Respuesta += Nombre + " : " + TipoDato;
		return Respuesta;
	}

	public String getNombre() {
		return Nombre;
	}

	public void setNombre(String nombre) throws AtributoERException {
		if (nombre.equals(""))
			throw new AtributoERException();
		Nombre = nombre;
	}

	public String getTipoDato() {
		return TipoDato;
	}

	public void setTipoDato(String tipoDato) throws AtributoERException,
			TipoDatoException {
		if (VistaDiagrama.getVista() != null) {
			if (tipoDato.equals(""))
				throw new AtributoERException();
			if (!DataTipe.getInstancia().dataExist(tipoDato))
				throw new TipoDatoException();
		}
		TipoDato = tipoDato;
	}

	public String generarDOM() {
		String DOM = "\t\t\t<VariableEntrada Nombre=\"" + Nombre
				+ "\" TipoDato=\"" + TipoDato + "\" IsFinal=\"" + isFinal
				+ "\" />\n";
		return DOM;
	}
}
